(0) Obligation:

Runtime Complexity TRS:
The TRS R consists of the following rules:

f(a, f(a, f(a, f(x, b)))) → f(f(a, f(a, f(a, x))), b)
f(f(f(a, x), b), b) → f(f(a, f(f(x, b), b)), b)

Rewrite Strategy: INNERMOST

(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)

Converted CpxTRS to CDT

(2) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(a, f(a, f(a, f(z0, b)))) → f(f(a, f(a, f(a, z0))), b)
f(f(f(a, z0), b), b) → f(f(a, f(f(z0, b), b)), b)
Tuples:

F(a, f(a, f(a, f(z0, b)))) → c(F(f(a, f(a, f(a, z0))), b), F(a, f(a, f(a, z0))), F(a, f(a, z0)), F(a, z0))
F(f(f(a, z0), b), b) → c1(F(f(a, f(f(z0, b), b)), b), F(a, f(f(z0, b), b)), F(f(z0, b), b), F(z0, b))
S tuples:

F(a, f(a, f(a, f(z0, b)))) → c(F(f(a, f(a, f(a, z0))), b), F(a, f(a, f(a, z0))), F(a, f(a, z0)), F(a, z0))
F(f(f(a, z0), b), b) → c1(F(f(a, f(f(z0, b), b)), b), F(a, f(f(z0, b), b)), F(f(z0, b), b), F(z0, b))
K tuples:none
Defined Rule Symbols:

f

Defined Pair Symbols:

F

Compound Symbols:

c, c1

(3) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace F(a, f(a, f(a, f(z0, b)))) → c(F(f(a, f(a, f(a, z0))), b), F(a, f(a, f(a, z0))), F(a, f(a, z0)), F(a, z0)) by

F(a, f(a, f(a, f(f(z0, b), b)))) → c(F(f(f(a, f(a, f(a, z0))), b), b), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))), F(a, f(z0, b)))
F(a, f(a, f(a, f(f(a, f(z0, b)), b)))) → c(F(f(a, f(f(a, f(a, f(a, z0))), b)), b), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))))
F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
F(a, f(a, f(a, f(x0, b)))) → c

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(a, f(a, f(a, f(z0, b)))) → f(f(a, f(a, f(a, z0))), b)
f(f(f(a, z0), b), b) → f(f(a, f(f(z0, b), b)), b)
Tuples:

F(f(f(a, z0), b), b) → c1(F(f(a, f(f(z0, b), b)), b), F(a, f(f(z0, b), b)), F(f(z0, b), b), F(z0, b))
F(a, f(a, f(a, f(f(z0, b), b)))) → c(F(f(f(a, f(a, f(a, z0))), b), b), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))), F(a, f(z0, b)))
F(a, f(a, f(a, f(f(a, f(z0, b)), b)))) → c(F(f(a, f(f(a, f(a, f(a, z0))), b)), b), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))))
F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
F(a, f(a, f(a, f(x0, b)))) → c
S tuples:

F(f(f(a, z0), b), b) → c1(F(f(a, f(f(z0, b), b)), b), F(a, f(f(z0, b), b)), F(f(z0, b), b), F(z0, b))
F(a, f(a, f(a, f(f(z0, b), b)))) → c(F(f(f(a, f(a, f(a, z0))), b), b), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))), F(a, f(z0, b)))
F(a, f(a, f(a, f(f(a, f(z0, b)), b)))) → c(F(f(a, f(f(a, f(a, f(a, z0))), b)), b), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))))
F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
F(a, f(a, f(a, f(x0, b)))) → c
K tuples:none
Defined Rule Symbols:

f

Defined Pair Symbols:

F

Compound Symbols:

c1, c, c

(5) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

F(a, f(a, f(a, f(x0, b)))) → c

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(a, f(a, f(a, f(z0, b)))) → f(f(a, f(a, f(a, z0))), b)
f(f(f(a, z0), b), b) → f(f(a, f(f(z0, b), b)), b)
Tuples:

F(f(f(a, z0), b), b) → c1(F(f(a, f(f(z0, b), b)), b), F(a, f(f(z0, b), b)), F(f(z0, b), b), F(z0, b))
F(a, f(a, f(a, f(f(z0, b), b)))) → c(F(f(f(a, f(a, f(a, z0))), b), b), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))), F(a, f(z0, b)))
F(a, f(a, f(a, f(f(a, f(z0, b)), b)))) → c(F(f(a, f(f(a, f(a, f(a, z0))), b)), b), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))))
F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
S tuples:

F(f(f(a, z0), b), b) → c1(F(f(a, f(f(z0, b), b)), b), F(a, f(f(z0, b), b)), F(f(z0, b), b), F(z0, b))
F(a, f(a, f(a, f(f(z0, b), b)))) → c(F(f(f(a, f(a, f(a, z0))), b), b), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))), F(a, f(z0, b)))
F(a, f(a, f(a, f(f(a, f(z0, b)), b)))) → c(F(f(a, f(f(a, f(a, f(a, z0))), b)), b), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))))
F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
K tuples:none
Defined Rule Symbols:

f

Defined Pair Symbols:

F

Compound Symbols:

c1, c

(7) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace F(f(f(a, z0), b), b) → c1(F(f(a, f(f(z0, b), b)), b), F(a, f(f(z0, b), b)), F(f(z0, b), b), F(z0, b)) by

F(f(f(a, f(a, z0)), b), b) → c1(F(f(a, f(f(a, f(f(z0, b), b)), b)), b), F(a, f(f(f(a, z0), b), b)), F(f(f(a, z0), b), b), F(f(a, z0), b))
F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
F(f(f(a, x0), b), b) → c1

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(a, f(a, f(a, f(z0, b)))) → f(f(a, f(a, f(a, z0))), b)
f(f(f(a, z0), b), b) → f(f(a, f(f(z0, b), b)), b)
Tuples:

F(a, f(a, f(a, f(f(z0, b), b)))) → c(F(f(f(a, f(a, f(a, z0))), b), b), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))), F(a, f(z0, b)))
F(a, f(a, f(a, f(f(a, f(z0, b)), b)))) → c(F(f(a, f(f(a, f(a, f(a, z0))), b)), b), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))))
F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
F(f(f(a, f(a, z0)), b), b) → c1(F(f(a, f(f(a, f(f(z0, b), b)), b)), b), F(a, f(f(f(a, z0), b), b)), F(f(f(a, z0), b), b), F(f(a, z0), b))
F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
F(f(f(a, x0), b), b) → c1
S tuples:

F(a, f(a, f(a, f(f(z0, b), b)))) → c(F(f(f(a, f(a, f(a, z0))), b), b), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))), F(a, f(z0, b)))
F(a, f(a, f(a, f(f(a, f(z0, b)), b)))) → c(F(f(a, f(f(a, f(a, f(a, z0))), b)), b), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))))
F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
F(f(f(a, f(a, z0)), b), b) → c1(F(f(a, f(f(a, f(f(z0, b), b)), b)), b), F(a, f(f(f(a, z0), b), b)), F(f(f(a, z0), b), b), F(f(a, z0), b))
F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
F(f(f(a, x0), b), b) → c1
K tuples:none
Defined Rule Symbols:

f

Defined Pair Symbols:

F

Compound Symbols:

c, c1, c1

(9) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

F(f(f(a, x0), b), b) → c1

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(a, f(a, f(a, f(z0, b)))) → f(f(a, f(a, f(a, z0))), b)
f(f(f(a, z0), b), b) → f(f(a, f(f(z0, b), b)), b)
Tuples:

F(a, f(a, f(a, f(f(z0, b), b)))) → c(F(f(f(a, f(a, f(a, z0))), b), b), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))), F(a, f(z0, b)))
F(a, f(a, f(a, f(f(a, f(z0, b)), b)))) → c(F(f(a, f(f(a, f(a, f(a, z0))), b)), b), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))))
F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
F(f(f(a, f(a, z0)), b), b) → c1(F(f(a, f(f(a, f(f(z0, b), b)), b)), b), F(a, f(f(f(a, z0), b), b)), F(f(f(a, z0), b), b), F(f(a, z0), b))
F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
S tuples:

F(a, f(a, f(a, f(f(z0, b), b)))) → c(F(f(f(a, f(a, f(a, z0))), b), b), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))), F(a, f(z0, b)))
F(a, f(a, f(a, f(f(a, f(z0, b)), b)))) → c(F(f(a, f(f(a, f(a, f(a, z0))), b)), b), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))))
F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
F(f(f(a, f(a, z0)), b), b) → c1(F(f(a, f(f(a, f(f(z0, b), b)), b)), b), F(a, f(f(f(a, z0), b), b)), F(f(f(a, z0), b), b), F(f(a, z0), b))
F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
K tuples:none
Defined Rule Symbols:

f

Defined Pair Symbols:

F

Compound Symbols:

c, c1

(11) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace F(a, f(a, f(a, f(f(z0, b), b)))) → c(F(f(f(a, f(a, f(a, z0))), b), b), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))), F(a, f(z0, b))) by

F(a, f(a, f(a, f(f(x0, b), b)))) → c(F(f(f(a, f(a, f(a, x0))), b), b), F(a, f(a, f(a, f(x0, b)))))

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(a, f(a, f(a, f(z0, b)))) → f(f(a, f(a, f(a, z0))), b)
f(f(f(a, z0), b), b) → f(f(a, f(f(z0, b), b)), b)
Tuples:

F(a, f(a, f(a, f(f(a, f(z0, b)), b)))) → c(F(f(a, f(f(a, f(a, f(a, z0))), b)), b), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))))
F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
F(f(f(a, f(a, z0)), b), b) → c1(F(f(a, f(f(a, f(f(z0, b), b)), b)), b), F(a, f(f(f(a, z0), b), b)), F(f(f(a, z0), b), b), F(f(a, z0), b))
F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
F(a, f(a, f(a, f(f(x0, b), b)))) → c(F(f(f(a, f(a, f(a, x0))), b), b), F(a, f(a, f(a, f(x0, b)))))
S tuples:

F(a, f(a, f(a, f(f(a, f(z0, b)), b)))) → c(F(f(a, f(f(a, f(a, f(a, z0))), b)), b), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b))))
F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
F(f(f(a, f(a, z0)), b), b) → c1(F(f(a, f(f(a, f(f(z0, b), b)), b)), b), F(a, f(f(f(a, z0), b), b)), F(f(f(a, z0), b), b), F(f(a, z0), b))
F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
F(a, f(a, f(a, f(f(x0, b), b)))) → c(F(f(f(a, f(a, f(a, x0))), b), b), F(a, f(a, f(a, f(x0, b)))))
K tuples:none
Defined Rule Symbols:

f

Defined Pair Symbols:

F

Compound Symbols:

c, c1, c

(13) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace F(a, f(a, f(a, f(f(a, f(z0, b)), b)))) → c(F(f(a, f(f(a, f(a, f(a, z0))), b)), b), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))), F(a, f(a, f(z0, b)))) by

F(a, f(a, f(a, f(f(a, f(f(z0, b), b)), b)))) → c(F(f(a, f(f(f(a, f(a, f(a, z0))), b), b)), b), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))), F(a, f(a, f(f(z0, b), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(z0, b)), b)), b)))) → c(F(f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))), F(a, f(a, f(f(a, f(z0, b)), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(a, f(z0, b))), b)), b)))) → c(F(f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))), F(a, f(a, f(f(a, f(a, f(z0, b))), b))))
F(a, f(a, f(a, f(f(a, f(x0, b)), b)))) → c(F(a, f(a, f(a, f(a, f(x0, b))))))

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(a, f(a, f(a, f(z0, b)))) → f(f(a, f(a, f(a, z0))), b)
f(f(f(a, z0), b), b) → f(f(a, f(f(z0, b), b)), b)
Tuples:

F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
F(f(f(a, f(a, z0)), b), b) → c1(F(f(a, f(f(a, f(f(z0, b), b)), b)), b), F(a, f(f(f(a, z0), b), b)), F(f(f(a, z0), b), b), F(f(a, z0), b))
F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
F(a, f(a, f(a, f(f(x0, b), b)))) → c(F(f(f(a, f(a, f(a, x0))), b), b), F(a, f(a, f(a, f(x0, b)))))
F(a, f(a, f(a, f(f(a, f(f(z0, b), b)), b)))) → c(F(f(a, f(f(f(a, f(a, f(a, z0))), b), b)), b), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))), F(a, f(a, f(f(z0, b), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(z0, b)), b)), b)))) → c(F(f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))), F(a, f(a, f(f(a, f(z0, b)), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(a, f(z0, b))), b)), b)))) → c(F(f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))), F(a, f(a, f(f(a, f(a, f(z0, b))), b))))
F(a, f(a, f(a, f(f(a, f(x0, b)), b)))) → c(F(a, f(a, f(a, f(a, f(x0, b))))))
S tuples:

F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b)))))
F(f(f(a, f(a, z0)), b), b) → c1(F(f(a, f(f(a, f(f(z0, b), b)), b)), b), F(a, f(f(f(a, z0), b), b)), F(f(f(a, z0), b), b), F(f(a, z0), b))
F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
F(a, f(a, f(a, f(f(x0, b), b)))) → c(F(f(f(a, f(a, f(a, x0))), b), b), F(a, f(a, f(a, f(x0, b)))))
F(a, f(a, f(a, f(f(a, f(f(z0, b), b)), b)))) → c(F(f(a, f(f(f(a, f(a, f(a, z0))), b), b)), b), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))), F(a, f(a, f(f(z0, b), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(z0, b)), b)), b)))) → c(F(f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))), F(a, f(a, f(f(a, f(z0, b)), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(a, f(z0, b))), b)), b)))) → c(F(f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))), F(a, f(a, f(f(a, f(a, f(z0, b))), b))))
F(a, f(a, f(a, f(f(a, f(x0, b)), b)))) → c(F(a, f(a, f(a, f(a, f(x0, b))))))
K tuples:none
Defined Rule Symbols:

f

Defined Pair Symbols:

F

Compound Symbols:

c, c1, c, c

(15) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b), F(a, f(a, f(a, f(a, f(a, f(z0, b)))))), F(a, f(a, f(a, f(a, f(z0, b))))), F(a, f(a, f(a, f(z0, b))))) by

F(a, f(a, f(a, f(f(a, f(a, f(f(z0, b), b))), b)))) → c(F(f(a, f(a, f(f(f(a, f(a, f(a, z0))), b), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(z0, b), b)))))), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(z0, b)), b))), b)))) → c(F(f(a, f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(z0, b))), b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(x0, b))), b)))) → c(F(a, f(a, f(a, f(a, f(a, f(x0, b)))))), F(a, f(a, f(a, f(a, f(x0, b))))))

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(a, f(a, f(a, f(z0, b)))) → f(f(a, f(a, f(a, z0))), b)
f(f(f(a, z0), b), b) → f(f(a, f(f(z0, b), b)), b)
Tuples:

F(f(f(a, f(a, z0)), b), b) → c1(F(f(a, f(f(a, f(f(z0, b), b)), b)), b), F(a, f(f(f(a, z0), b), b)), F(f(f(a, z0), b), b), F(f(a, z0), b))
F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
F(a, f(a, f(a, f(f(x0, b), b)))) → c(F(f(f(a, f(a, f(a, x0))), b), b), F(a, f(a, f(a, f(x0, b)))))
F(a, f(a, f(a, f(f(a, f(f(z0, b), b)), b)))) → c(F(f(a, f(f(f(a, f(a, f(a, z0))), b), b)), b), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))), F(a, f(a, f(f(z0, b), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(z0, b)), b)), b)))) → c(F(f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))), F(a, f(a, f(f(a, f(z0, b)), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(a, f(z0, b))), b)), b)))) → c(F(f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))), F(a, f(a, f(f(a, f(a, f(z0, b))), b))))
F(a, f(a, f(a, f(f(a, f(x0, b)), b)))) → c(F(a, f(a, f(a, f(a, f(x0, b))))))
F(a, f(a, f(a, f(f(a, f(a, f(f(z0, b), b))), b)))) → c(F(f(a, f(a, f(f(f(a, f(a, f(a, z0))), b), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(z0, b), b)))))), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(z0, b)), b))), b)))) → c(F(f(a, f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(z0, b))), b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(x0, b))), b)))) → c(F(a, f(a, f(a, f(a, f(a, f(x0, b)))))), F(a, f(a, f(a, f(a, f(x0, b))))))
S tuples:

F(f(f(a, f(a, z0)), b), b) → c1(F(f(a, f(f(a, f(f(z0, b), b)), b)), b), F(a, f(f(f(a, z0), b), b)), F(f(f(a, z0), b), b), F(f(a, z0), b))
F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
F(a, f(a, f(a, f(f(x0, b), b)))) → c(F(f(f(a, f(a, f(a, x0))), b), b), F(a, f(a, f(a, f(x0, b)))))
F(a, f(a, f(a, f(f(a, f(f(z0, b), b)), b)))) → c(F(f(a, f(f(f(a, f(a, f(a, z0))), b), b)), b), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))), F(a, f(a, f(f(z0, b), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(z0, b)), b)), b)))) → c(F(f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))), F(a, f(a, f(f(a, f(z0, b)), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(a, f(z0, b))), b)), b)))) → c(F(f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))), F(a, f(a, f(f(a, f(a, f(z0, b))), b))))
F(a, f(a, f(a, f(f(a, f(x0, b)), b)))) → c(F(a, f(a, f(a, f(a, f(x0, b))))))
F(a, f(a, f(a, f(f(a, f(a, f(f(z0, b), b))), b)))) → c(F(f(a, f(a, f(f(f(a, f(a, f(a, z0))), b), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(z0, b), b)))))), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(z0, b)), b))), b)))) → c(F(f(a, f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(z0, b))), b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(x0, b))), b)))) → c(F(a, f(a, f(a, f(a, f(a, f(x0, b)))))), F(a, f(a, f(a, f(a, f(x0, b))))))
K tuples:none
Defined Rule Symbols:

f

Defined Pair Symbols:

F

Compound Symbols:

c1, c, c, c

(17) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace F(f(f(a, f(a, z0)), b), b) → c1(F(f(a, f(f(a, f(f(z0, b), b)), b)), b), F(a, f(f(f(a, z0), b), b)), F(f(f(a, z0), b), b), F(f(a, z0), b)) by

F(f(f(a, f(a, f(a, z0))), b), b) → c1(F(f(a, f(f(a, f(f(a, f(f(z0, b), b)), b)), b)), b), F(a, f(f(f(a, f(a, z0)), b), b)), F(f(f(a, f(a, z0)), b), b), F(f(a, f(a, z0)), b))
F(f(f(a, f(a, f(f(a, z0), b))), b), b) → c1(F(f(a, f(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b)), b), F(a, f(f(f(a, f(f(a, z0), b)), b), b)), F(f(f(a, f(f(a, z0), b)), b), b), F(f(a, f(f(a, z0), b)), b))
F(f(f(a, f(a, x0)), b), b) → c1(F(a, f(f(f(a, x0), b), b)))

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(a, f(a, f(a, f(z0, b)))) → f(f(a, f(a, f(a, z0))), b)
f(f(f(a, z0), b), b) → f(f(a, f(f(z0, b), b)), b)
Tuples:

F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
F(a, f(a, f(a, f(f(x0, b), b)))) → c(F(f(f(a, f(a, f(a, x0))), b), b), F(a, f(a, f(a, f(x0, b)))))
F(a, f(a, f(a, f(f(a, f(f(z0, b), b)), b)))) → c(F(f(a, f(f(f(a, f(a, f(a, z0))), b), b)), b), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))), F(a, f(a, f(f(z0, b), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(z0, b)), b)), b)))) → c(F(f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))), F(a, f(a, f(f(a, f(z0, b)), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(a, f(z0, b))), b)), b)))) → c(F(f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))), F(a, f(a, f(f(a, f(a, f(z0, b))), b))))
F(a, f(a, f(a, f(f(a, f(x0, b)), b)))) → c(F(a, f(a, f(a, f(a, f(x0, b))))))
F(a, f(a, f(a, f(f(a, f(a, f(f(z0, b), b))), b)))) → c(F(f(a, f(a, f(f(f(a, f(a, f(a, z0))), b), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(z0, b), b)))))), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(z0, b)), b))), b)))) → c(F(f(a, f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(z0, b))), b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(x0, b))), b)))) → c(F(a, f(a, f(a, f(a, f(a, f(x0, b)))))), F(a, f(a, f(a, f(a, f(x0, b))))))
F(f(f(a, f(a, f(a, z0))), b), b) → c1(F(f(a, f(f(a, f(f(a, f(f(z0, b), b)), b)), b)), b), F(a, f(f(f(a, f(a, z0)), b), b)), F(f(f(a, f(a, z0)), b), b), F(f(a, f(a, z0)), b))
F(f(f(a, f(a, f(f(a, z0), b))), b), b) → c1(F(f(a, f(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b)), b), F(a, f(f(f(a, f(f(a, z0), b)), b), b)), F(f(f(a, f(f(a, z0), b)), b), b), F(f(a, f(f(a, z0), b)), b))
F(f(f(a, f(a, x0)), b), b) → c1(F(a, f(f(f(a, x0), b), b)))
S tuples:

F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b))
F(a, f(a, f(a, f(f(x0, b), b)))) → c(F(f(f(a, f(a, f(a, x0))), b), b), F(a, f(a, f(a, f(x0, b)))))
F(a, f(a, f(a, f(f(a, f(f(z0, b), b)), b)))) → c(F(f(a, f(f(f(a, f(a, f(a, z0))), b), b)), b), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))), F(a, f(a, f(f(z0, b), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(z0, b)), b)), b)))) → c(F(f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))), F(a, f(a, f(f(a, f(z0, b)), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(a, f(z0, b))), b)), b)))) → c(F(f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))), F(a, f(a, f(f(a, f(a, f(z0, b))), b))))
F(a, f(a, f(a, f(f(a, f(x0, b)), b)))) → c(F(a, f(a, f(a, f(a, f(x0, b))))))
F(a, f(a, f(a, f(f(a, f(a, f(f(z0, b), b))), b)))) → c(F(f(a, f(a, f(f(f(a, f(a, f(a, z0))), b), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(z0, b), b)))))), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(z0, b)), b))), b)))) → c(F(f(a, f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(z0, b))), b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(x0, b))), b)))) → c(F(a, f(a, f(a, f(a, f(a, f(x0, b)))))), F(a, f(a, f(a, f(a, f(x0, b))))))
F(f(f(a, f(a, f(a, z0))), b), b) → c1(F(f(a, f(f(a, f(f(a, f(f(z0, b), b)), b)), b)), b), F(a, f(f(f(a, f(a, z0)), b), b)), F(f(f(a, f(a, z0)), b), b), F(f(a, f(a, z0)), b))
F(f(f(a, f(a, f(f(a, z0), b))), b), b) → c1(F(f(a, f(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b)), b), F(a, f(f(f(a, f(f(a, z0), b)), b), b)), F(f(f(a, f(f(a, z0), b)), b), b), F(f(a, f(f(a, z0), b)), b))
F(f(f(a, f(a, x0)), b), b) → c1(F(a, f(f(f(a, x0), b), b)))
K tuples:none
Defined Rule Symbols:

f

Defined Pair Symbols:

F

Compound Symbols:

c1, c, c, c, c1

(19) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace F(f(f(a, f(f(a, z0), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), F(a, f(f(f(f(a, z0), b), b), b)), F(f(f(f(a, z0), b), b), b), F(f(f(a, z0), b), b)) by

F(f(f(a, f(f(a, x0), b)), b), b) → c1(F(f(a, f(f(a, f(f(f(f(x0, b), b), b), b)), b)), b), F(a, f(f(f(f(a, x0), b), b), b)), F(f(f(f(a, x0), b), b), b), F(f(f(a, x0), b), b))
F(f(f(a, f(f(a, f(a, z0)), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(a, f(f(z0, b), b)), b)), b), b)), b), F(a, f(f(f(f(a, f(a, z0)), b), b), b)), F(f(f(f(a, f(a, z0)), b), b), b), F(f(f(a, f(a, z0)), b), b))
F(f(f(a, f(f(a, f(f(a, z0), b)), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), b)), b), F(a, f(f(f(f(a, f(f(a, z0), b)), b), b), b)), F(f(f(f(a, f(f(a, z0), b)), b), b), b), F(f(f(a, f(f(a, z0), b)), b), b))
F(f(f(a, f(f(a, x0), b)), b), b) → c1(F(a, f(f(f(f(a, x0), b), b), b)), F(f(f(f(a, x0), b), b), b))

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(a, f(a, f(a, f(z0, b)))) → f(f(a, f(a, f(a, z0))), b)
f(f(f(a, z0), b), b) → f(f(a, f(f(z0, b), b)), b)
Tuples:

F(a, f(a, f(a, f(f(x0, b), b)))) → c(F(f(f(a, f(a, f(a, x0))), b), b), F(a, f(a, f(a, f(x0, b)))))
F(a, f(a, f(a, f(f(a, f(f(z0, b), b)), b)))) → c(F(f(a, f(f(f(a, f(a, f(a, z0))), b), b)), b), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))), F(a, f(a, f(f(z0, b), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(z0, b)), b)), b)))) → c(F(f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))), F(a, f(a, f(f(a, f(z0, b)), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(a, f(z0, b))), b)), b)))) → c(F(f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))), F(a, f(a, f(f(a, f(a, f(z0, b))), b))))
F(a, f(a, f(a, f(f(a, f(x0, b)), b)))) → c(F(a, f(a, f(a, f(a, f(x0, b))))))
F(a, f(a, f(a, f(f(a, f(a, f(f(z0, b), b))), b)))) → c(F(f(a, f(a, f(f(f(a, f(a, f(a, z0))), b), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(z0, b), b)))))), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(z0, b)), b))), b)))) → c(F(f(a, f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(z0, b))), b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(x0, b))), b)))) → c(F(a, f(a, f(a, f(a, f(a, f(x0, b)))))), F(a, f(a, f(a, f(a, f(x0, b))))))
F(f(f(a, f(a, f(a, z0))), b), b) → c1(F(f(a, f(f(a, f(f(a, f(f(z0, b), b)), b)), b)), b), F(a, f(f(f(a, f(a, z0)), b), b)), F(f(f(a, f(a, z0)), b), b), F(f(a, f(a, z0)), b))
F(f(f(a, f(a, f(f(a, z0), b))), b), b) → c1(F(f(a, f(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b)), b), F(a, f(f(f(a, f(f(a, z0), b)), b), b)), F(f(f(a, f(f(a, z0), b)), b), b), F(f(a, f(f(a, z0), b)), b))
F(f(f(a, f(a, x0)), b), b) → c1(F(a, f(f(f(a, x0), b), b)))
F(f(f(a, f(f(a, x0), b)), b), b) → c1(F(f(a, f(f(a, f(f(f(f(x0, b), b), b), b)), b)), b), F(a, f(f(f(f(a, x0), b), b), b)), F(f(f(f(a, x0), b), b), b), F(f(f(a, x0), b), b))
F(f(f(a, f(f(a, f(a, z0)), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(a, f(f(z0, b), b)), b)), b), b)), b), F(a, f(f(f(f(a, f(a, z0)), b), b), b)), F(f(f(f(a, f(a, z0)), b), b), b), F(f(f(a, f(a, z0)), b), b))
F(f(f(a, f(f(a, f(f(a, z0), b)), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), b)), b), F(a, f(f(f(f(a, f(f(a, z0), b)), b), b), b)), F(f(f(f(a, f(f(a, z0), b)), b), b), b), F(f(f(a, f(f(a, z0), b)), b), b))
F(f(f(a, f(f(a, x0), b)), b), b) → c1(F(a, f(f(f(f(a, x0), b), b), b)), F(f(f(f(a, x0), b), b), b))
S tuples:

F(a, f(a, f(a, f(f(x0, b), b)))) → c(F(f(f(a, f(a, f(a, x0))), b), b), F(a, f(a, f(a, f(x0, b)))))
F(a, f(a, f(a, f(f(a, f(f(z0, b), b)), b)))) → c(F(f(a, f(f(f(a, f(a, f(a, z0))), b), b)), b), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))), F(a, f(a, f(f(z0, b), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(z0, b)), b)), b)))) → c(F(f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))), F(a, f(a, f(f(a, f(z0, b)), b))))
F(a, f(a, f(a, f(f(a, f(f(a, f(a, f(z0, b))), b)), b)))) → c(F(f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b)), b), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))), F(a, f(a, f(f(a, f(a, f(z0, b))), b))))
F(a, f(a, f(a, f(f(a, f(x0, b)), b)))) → c(F(a, f(a, f(a, f(a, f(x0, b))))))
F(a, f(a, f(a, f(f(a, f(a, f(f(z0, b), b))), b)))) → c(F(f(a, f(a, f(f(f(a, f(a, f(a, z0))), b), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(z0, b), b)))))), F(a, f(a, f(a, f(a, f(f(z0, b), b))))), F(a, f(a, f(a, f(f(z0, b), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(z0, b)), b))), b)))) → c(F(f(a, f(a, f(f(a, f(f(a, f(a, f(a, z0))), b)), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(z0, b)), b))))), F(a, f(a, f(a, f(f(a, f(z0, b)), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(z0, b))), b))), b)))) → c(F(f(a, f(a, f(f(a, f(a, f(f(a, f(a, f(a, z0))), b))), b))), b), F(a, f(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))), F(a, f(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b))))), F(a, f(a, f(a, f(f(a, f(a, f(z0, b))), b)))))
F(a, f(a, f(a, f(f(a, f(a, f(x0, b))), b)))) → c(F(a, f(a, f(a, f(a, f(a, f(x0, b)))))), F(a, f(a, f(a, f(a, f(x0, b))))))
F(f(f(a, f(a, f(a, z0))), b), b) → c1(F(f(a, f(f(a, f(f(a, f(f(z0, b), b)), b)), b)), b), F(a, f(f(f(a, f(a, z0)), b), b)), F(f(f(a, f(a, z0)), b), b), F(f(a, f(a, z0)), b))
F(f(f(a, f(a, f(f(a, z0), b))), b), b) → c1(F(f(a, f(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b)), b), F(a, f(f(f(a, f(f(a, z0), b)), b), b)), F(f(f(a, f(f(a, z0), b)), b), b), F(f(a, f(f(a, z0), b)), b))
F(f(f(a, f(a, x0)), b), b) → c1(F(a, f(f(f(a, x0), b), b)))
F(f(f(a, f(f(a, x0), b)), b), b) → c1(F(f(a, f(f(a, f(f(f(f(x0, b), b), b), b)), b)), b), F(a, f(f(f(f(a, x0), b), b), b)), F(f(f(f(a, x0), b), b), b), F(f(f(a, x0), b), b))
F(f(f(a, f(f(a, f(a, z0)), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(a, f(f(z0, b), b)), b)), b), b)), b), F(a, f(f(f(f(a, f(a, z0)), b), b), b)), F(f(f(f(a, f(a, z0)), b), b), b), F(f(f(a, f(a, z0)), b), b))
F(f(f(a, f(f(a, f(f(a, z0), b)), b)), b), b) → c1(F(f(a, f(f(f(a, f(f(f(a, f(f(z0, b), b)), b), b)), b), b)), b), F(a, f(f(f(f(a, f(f(a, z0), b)), b), b), b)), F(f(f(f(a, f(f(a, z0), b)), b), b), b), F(f(f(a, f(f(a, z0), b)), b), b))
F(f(f(a, f(f(a, x0), b)), b), b) → c1(F(a, f(f(f(f(a, x0), b), b), b)), F(f(f(f(a, x0), b), b), b))
K tuples:none
Defined Rule Symbols:

f

Defined Pair Symbols:

F

Compound Symbols:

c, c, c, c1, c1, c1

(21) CpxTrsMatchBoundsTAProof (EQUIVALENT transformation)

A linear upper bound on the runtime complexity of the TRS R could be shown with a Match-Bound[TAB_LEFTLINEAR,TAB_NONLEFTLINEAR] (for contructor-based start-terms) of 0.

The compatible tree automaton used to show the Match-Boundedness (for constructor-based start-terms) is represented by:
final states : [1]
transitions:
a0() → 0
b0() → 0
f0(0, 0) → 1

(22) BOUNDS(O(1), O(n^1))